<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621680804045"><span id="local-6989586621680804046"></span></span><span class="hs-comment">{-
(c) The University of Glasgow 2006
(c) The AQUA Project, Glasgow University, 1994-1998

\section[UniqSet]{Specialised sets, for things with @Uniques@}

Based on @UniqFMs@ (as you would expect).

Basically, the things need to be in class @Uniquable@.
-}</span><span>
</span><span id="line-11"></span><span class="hs-pragma">{-# LANGUAGE GeneralizedNewtypeDeriving #-}</span><span>
</span><span id="line-12"></span><span class="hs-pragma">{-# LANGUAGE DeriveDataTypeable #-}</span><span>
</span><span id="line-13"></span><span>
</span><span id="line-14"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Types.Unique.Set</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-15"></span><span>        </span><span class="annot"><span class="hs-comment">-- * Unique set type</span></span><span>
</span><span id="line-16"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier">UniqSet</span></a></span><span class="hs-special">,</span><span>    </span><span class="hs-comment">-- type synonym for UniqFM a</span><span>
</span><span id="line-17"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#getUniqSet"><span class="hs-identifier">getUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-18"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#pprUniqSet"><span class="hs-identifier">pprUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span>        </span><span class="annot"><span class="hs-comment">-- ** Manipulating these sets</span></span><span>
</span><span id="line-21"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#emptyUniqSet"><span class="hs-identifier">emptyUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-22"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#unitUniqSet"><span class="hs-identifier">unitUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-23"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#mkUniqSet"><span class="hs-identifier">mkUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-24"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#addOneToUniqSet"><span class="hs-identifier">addOneToUniqSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#addListToUniqSet"><span class="hs-identifier">addListToUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-25"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#delOneFromUniqSet"><span class="hs-identifier">delOneFromUniqSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#delOneFromUniqSet_Directly"><span class="hs-identifier">delOneFromUniqSet_Directly</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#delListFromUniqSet"><span class="hs-identifier">delListFromUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-26"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#delListFromUniqSet_Directly"><span class="hs-identifier">delListFromUniqSet_Directly</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-27"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#unionUniqSets"><span class="hs-identifier">unionUniqSets</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#unionManyUniqSets"><span class="hs-identifier">unionManyUniqSets</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-28"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#minusUniqSet"><span class="hs-identifier">minusUniqSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetMinusUFM"><span class="hs-identifier">uniqSetMinusUFM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetMinusUDFM"><span class="hs-identifier">uniqSetMinusUDFM</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#intersectUniqSets"><span class="hs-identifier">intersectUniqSets</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-30"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#disjointUniqSets"><span class="hs-identifier">disjointUniqSets</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-31"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#restrictUniqSetToUFM"><span class="hs-identifier">restrictUniqSetToUFM</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-32"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetAny"><span class="hs-identifier">uniqSetAny</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetAll"><span class="hs-identifier">uniqSetAll</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-33"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#elementOfUniqSet"><span class="hs-identifier">elementOfUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-34"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#elemUniqSet_Directly"><span class="hs-identifier">elemUniqSet_Directly</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-35"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#filterUniqSet"><span class="hs-identifier">filterUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-36"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#filterUniqSet_Directly"><span class="hs-identifier">filterUniqSet_Directly</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-37"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#sizeUniqSet"><span class="hs-identifier">sizeUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-38"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#isEmptyUniqSet"><span class="hs-identifier">isEmptyUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-39"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#lookupUniqSet"><span class="hs-identifier">lookupUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-40"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#lookupUniqSet_Directly"><span class="hs-identifier">lookupUniqSet_Directly</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-41"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#partitionUniqSet"><span class="hs-identifier">partitionUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-42"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#mapUniqSet"><span class="hs-identifier">mapUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-43"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#unsafeUFMToUniqSet"><span class="hs-identifier">unsafeUFMToUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-44"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#nonDetEltsUniqSet"><span class="hs-identifier">nonDetEltsUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-45"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#nonDetKeysUniqSet"><span class="hs-identifier">nonDetKeysUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-46"></span><span>        </span><span class="annot"><a href="GHC.Types.Unique.Set.html#nonDetStrictFoldUniqSet"><span class="hs-identifier">nonDetStrictFoldUniqSet</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-47"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-50"></span><span>
</span><span id="line-51"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.DFM.html"><span class="hs-identifier">GHC.Types.Unique.DFM</span></a></span><span>
</span><span id="line-52"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html"><span class="hs-identifier">GHC.Types.Unique.FM</span></a></span><span>
</span><span id="line-53"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html"><span class="hs-identifier">GHC.Types.Unique</span></a></span><span>
</span><span id="line-54"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Coerce.html#"><span class="hs-identifier">Data.Coerce</span></a></span><span>
</span><span id="line-55"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html"><span class="hs-identifier">GHC.Utils.Outputable</span></a></span><span>
</span><span id="line-56"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Data.html#"><span class="hs-identifier">Data.Data</span></a></span><span>
</span><span id="line-57"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../base/src/Data.Semigroup.html#"><span class="hs-identifier">Data.Semigroup</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Semi</span></span><span>
</span><span id="line-58"></span><span>
</span><span id="line-59"></span><span class="hs-comment">-- Note [UniqSet invariant]</span><span>
</span><span id="line-60"></span><span class="hs-comment">-- ~~~~~~~~~~~~~~~~~~~~~~~~~</span><span>
</span><span id="line-61"></span><span class="hs-comment">-- UniqSet has the following invariant:</span><span>
</span><span id="line-62"></span><span class="hs-comment">--   The keys in the map are the uniques of the values</span><span>
</span><span id="line-63"></span><span class="hs-comment">-- It means that to implement mapUniqSet you have to update</span><span>
</span><span id="line-64"></span><span class="hs-comment">-- both the keys and the values.</span><span>
</span><span id="line-65"></span><span>
</span><span id="line-66"></span><span class="hs-keyword">newtype</span><span> </span><span id="UniqSet"><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span></span><span> </span><span id="local-6989586621680804267"><span class="annot"><a href="#local-6989586621680804267"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="UniqSet"><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span></span><span> </span><span class="hs-special">{</span><span id="getUniqSet%27"><span class="annot"><span class="annottext">forall a. UniqSet a -&gt; UniqFM a a
</span><a href="GHC.Types.Unique.Set.html#getUniqSet%27"><span class="hs-identifier hs-var hs-var">getUniqSet'</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html#UniqFM"><span class="hs-identifier hs-type">UniqFM</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804267"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804267"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">}</span><span>
</span><span id="line-67"></span><span>                  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680803970"><span id="local-6989586621680803972"><span id="local-6989586621680803974"><span id="local-6989586621680803976"><span id="local-6989586621680803978"><span id="local-6989586621680803980"><span id="local-6989586621680803982"><span id="local-6989586621680803984"><span id="local-6989586621680803986"><span id="local-6989586621680803992"><span id="local-6989586621680803994"><span id="local-6989586621680803996"><span id="local-6989586621680803999"><span id="local-6989586621680804003"><span class="annot"><span class="annottext">Typeable (UniqSet a)
Typeable (UniqSet a)
-&gt; (forall (c :: * -&gt; *).
    (forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
    -&gt; (forall g. g -&gt; c g) -&gt; UniqSet a -&gt; c (UniqSet a))
-&gt; (forall (c :: * -&gt; *).
    (forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
    -&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c (UniqSet a))
-&gt; (UniqSet a -&gt; Constr)
-&gt; (UniqSet a -&gt; DataType)
-&gt; (forall (t :: * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d. Data d =&gt; c (t d)) -&gt; Maybe (c (UniqSet a)))
-&gt; (forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d e. (Data d, Data e) =&gt; c (t d e))
    -&gt; Maybe (c (UniqSet a)))
-&gt; ((forall b. Data b =&gt; b -&gt; b) -&gt; UniqSet a -&gt; UniqSet a)
-&gt; (forall r r'.
    (r -&gt; r' -&gt; r)
    -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r)
-&gt; (forall r r'.
    (r' -&gt; r -&gt; r)
    -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r)
-&gt; (forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; [u])
-&gt; (forall u.
    Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; u)
-&gt; (forall (m :: * -&gt; *).
    Monad m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a))
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a))
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a))
-&gt; Data (UniqSet a)
UniqSet a -&gt; DataType
UniqSet a -&gt; Constr
(forall b. Data b =&gt; b -&gt; b) -&gt; UniqSet a -&gt; UniqSet a
forall {a}. Data a =&gt; Typeable (UniqSet a)
forall a. Data a =&gt; UniqSet a -&gt; DataType
forall a. Data a =&gt; UniqSet a -&gt; Constr
forall a.
Data a =&gt;
(forall b. Data b =&gt; b -&gt; b) -&gt; UniqSet a -&gt; UniqSet a
forall a u.
Data a =&gt;
Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; u
forall a u.
Data a =&gt;
(forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; [u]
forall a r r'.
Data a =&gt;
(r -&gt; r' -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
forall a r r'.
Data a =&gt;
(r' -&gt; r -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
forall a (m :: * -&gt; *).
(Data a, Monad m) =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
forall a (m :: * -&gt; *).
(Data a, MonadPlus m) =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
forall a (c :: * -&gt; *).
Data a =&gt;
(forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
-&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c (UniqSet a)
forall a (c :: * -&gt; *).
Data a =&gt;
(forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
-&gt; (forall g. g -&gt; c g) -&gt; UniqSet a -&gt; c (UniqSet a)
forall a (t :: * -&gt; *) (c :: * -&gt; *).
(Data a, Typeable t) =&gt;
(forall d. Data d =&gt; c (t d)) -&gt; Maybe (c (UniqSet a))
forall a (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
(Data a, Typeable t) =&gt;
(forall d e. (Data d, Data e) =&gt; c (t d e))
-&gt; Maybe (c (UniqSet a))
forall a.
Typeable a
-&gt; (forall (c :: * -&gt; *).
    (forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
    -&gt; (forall g. g -&gt; c g) -&gt; a -&gt; c a)
-&gt; (forall (c :: * -&gt; *).
    (forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
    -&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c a)
-&gt; (a -&gt; Constr)
-&gt; (a -&gt; DataType)
-&gt; (forall (t :: * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d. Data d =&gt; c (t d)) -&gt; Maybe (c a))
-&gt; (forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d e. (Data d, Data e) =&gt; c (t d e)) -&gt; Maybe (c a))
-&gt; ((forall b. Data b =&gt; b -&gt; b) -&gt; a -&gt; a)
-&gt; (forall r r'.
    (r -&gt; r' -&gt; r) -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; a -&gt; r)
-&gt; (forall r r'.
    (r' -&gt; r -&gt; r) -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; a -&gt; r)
-&gt; (forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; a -&gt; [u])
-&gt; (forall u. Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; a -&gt; u)
-&gt; (forall (m :: * -&gt; *).
    Monad m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; a -&gt; m a)
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; a -&gt; m a)
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; a -&gt; m a)
-&gt; Data a
forall u. Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; u
forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; [u]
forall r r'.
(r -&gt; r' -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
forall r r'.
(r' -&gt; r -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
forall (m :: * -&gt; *).
Monad m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
forall (c :: * -&gt; *).
(forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
-&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c (UniqSet a)
forall (c :: * -&gt; *).
(forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
-&gt; (forall g. g -&gt; c g) -&gt; UniqSet a -&gt; c (UniqSet a)
forall (t :: * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d. Data d =&gt; c (t d)) -&gt; Maybe (c (UniqSet a))
forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d e. (Data d, Data e) =&gt; c (t d e))
-&gt; Maybe (c (UniqSet a))
gmapMo :: forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
$cgmapMo :: forall a (m :: * -&gt; *).
(Data a, MonadPlus m) =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
gmapMp :: forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
$cgmapMp :: forall a (m :: * -&gt; *).
(Data a, MonadPlus m) =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
gmapM :: forall (m :: * -&gt; *).
Monad m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
$cgmapM :: forall a (m :: * -&gt; *).
(Data a, Monad m) =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; UniqSet a -&gt; m (UniqSet a)
gmapQi :: forall u. Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; u
$cgmapQi :: forall a u.
Data a =&gt;
Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; u
gmapQ :: forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; [u]
$cgmapQ :: forall a u.
Data a =&gt;
(forall d. Data d =&gt; d -&gt; u) -&gt; UniqSet a -&gt; [u]
gmapQr :: forall r r'.
(r' -&gt; r -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
$cgmapQr :: forall a r r'.
Data a =&gt;
(r' -&gt; r -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
gmapQl :: forall r r'.
(r -&gt; r' -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
$cgmapQl :: forall a r r'.
Data a =&gt;
(r -&gt; r' -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; UniqSet a -&gt; r
gmapT :: (forall b. Data b =&gt; b -&gt; b) -&gt; UniqSet a -&gt; UniqSet a
$cgmapT :: forall a.
Data a =&gt;
(forall b. Data b =&gt; b -&gt; b) -&gt; UniqSet a -&gt; UniqSet a
dataCast2 :: forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d e. (Data d, Data e) =&gt; c (t d e))
-&gt; Maybe (c (UniqSet a))
$cdataCast2 :: forall a (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
(Data a, Typeable t) =&gt;
(forall d e. (Data d, Data e) =&gt; c (t d e))
-&gt; Maybe (c (UniqSet a))
dataCast1 :: forall (t :: * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d. Data d =&gt; c (t d)) -&gt; Maybe (c (UniqSet a))
$cdataCast1 :: forall a (t :: * -&gt; *) (c :: * -&gt; *).
(Data a, Typeable t) =&gt;
(forall d. Data d =&gt; c (t d)) -&gt; Maybe (c (UniqSet a))
dataTypeOf :: UniqSet a -&gt; DataType
$cdataTypeOf :: forall a. Data a =&gt; UniqSet a -&gt; DataType
toConstr :: UniqSet a -&gt; Constr
$ctoConstr :: forall a. Data a =&gt; UniqSet a -&gt; Constr
gunfold :: forall (c :: * -&gt; *).
(forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
-&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c (UniqSet a)
$cgunfold :: forall a (c :: * -&gt; *).
Data a =&gt;
(forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
-&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c (UniqSet a)
gfoldl :: forall (c :: * -&gt; *).
(forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
-&gt; (forall g. g -&gt; c g) -&gt; UniqSet a -&gt; c (UniqSet a)
$cgfoldl :: forall a (c :: * -&gt; *).
Data a =&gt;
(forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
-&gt; (forall g. g -&gt; c g) -&gt; UniqSet a -&gt; c (UniqSet a)
</span><a href="../../base/src/Data.Data.html#Data"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Data</span></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680803956"><span id="local-6989586621680803962"><span id="local-6989586621680803967"><span class="annot"><span class="annottext">NonEmpty (UniqSet a) -&gt; UniqSet a
UniqSet a -&gt; UniqSet a -&gt; UniqSet a
(UniqSet a -&gt; UniqSet a -&gt; UniqSet a)
-&gt; (NonEmpty (UniqSet a) -&gt; UniqSet a)
-&gt; (forall b. Integral b =&gt; b -&gt; UniqSet a -&gt; UniqSet a)
-&gt; Semigroup (UniqSet a)
forall b. Integral b =&gt; b -&gt; UniqSet a -&gt; UniqSet a
forall a. NonEmpty (UniqSet a) -&gt; UniqSet a
forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
forall a.
(a -&gt; a -&gt; a)
-&gt; (NonEmpty a -&gt; a)
-&gt; (forall b. Integral b =&gt; b -&gt; a -&gt; a)
-&gt; Semigroup a
forall a b. Integral b =&gt; b -&gt; UniqSet a -&gt; UniqSet a
stimes :: forall b. Integral b =&gt; b -&gt; UniqSet a -&gt; UniqSet a
$cstimes :: forall a b. Integral b =&gt; b -&gt; UniqSet a -&gt; UniqSet a
sconcat :: NonEmpty (UniqSet a) -&gt; UniqSet a
$csconcat :: forall a. NonEmpty (UniqSet a) -&gt; UniqSet a
&lt;&gt; :: UniqSet a -&gt; UniqSet a -&gt; UniqSet a
$c&lt;&gt; :: forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
</span><a href="../../base/src/GHC.Base.html#Semigroup"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Semi.Semigroup</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680803937"><span id="local-6989586621680803941"><span id="local-6989586621680803946"><span class="annot"><span class="annottext">Semigroup (UniqSet a)
UniqSet a
Semigroup (UniqSet a)
-&gt; UniqSet a
-&gt; (UniqSet a -&gt; UniqSet a -&gt; UniqSet a)
-&gt; ([UniqSet a] -&gt; UniqSet a)
-&gt; Monoid (UniqSet a)
[UniqSet a] -&gt; UniqSet a
UniqSet a -&gt; UniqSet a -&gt; UniqSet a
forall a. Semigroup (UniqSet a)
forall a. UniqSet a
forall a.
Semigroup a -&gt; a -&gt; (a -&gt; a -&gt; a) -&gt; ([a] -&gt; a) -&gt; Monoid a
forall a. [UniqSet a] -&gt; UniqSet a
forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
mconcat :: [UniqSet a] -&gt; UniqSet a
$cmconcat :: forall a. [UniqSet a] -&gt; UniqSet a
mappend :: UniqSet a -&gt; UniqSet a -&gt; UniqSet a
$cmappend :: forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
mempty :: UniqSet a
$cmempty :: forall a. UniqSet a
</span><a href="../../base/src/GHC.Base.html#Monoid"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Monoid</span></a></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-68"></span><span>
</span><span id="line-69"></span><span id="local-6989586621680803932"><span class="annot"><a href="GHC.Types.Unique.Set.html#emptyUniqSet"><span class="hs-identifier hs-type">emptyUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803932"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-70"></span><span id="emptyUniqSet"><span class="annot"><span class="annottext">emptyUniqSet :: forall a. UniqSet a
</span><a href="GHC.Types.Unique.Set.html#emptyUniqSet"><span class="hs-identifier hs-var hs-var">emptyUniqSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
forall key elt. UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#emptyUFM"><span class="hs-identifier hs-var">emptyUFM</span></a></span><span>
</span><span id="line-71"></span><span>
</span><span id="line-72"></span><span id="local-6989586621680804215"><span class="annot"><a href="GHC.Types.Unique.Set.html#unitUniqSet"><span class="hs-identifier hs-type">unitUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804215"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804215"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804215"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-73"></span><span id="unitUniqSet"><span class="annot"><span class="annottext">unitUniqSet :: forall a. Uniquable a =&gt; a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#unitUniqSet"><span class="hs-identifier hs-var hs-var">unitUniqSet</span></a></span></span><span> </span><span id="local-6989586621680803928"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803928"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="annot"><span class="annottext">(UniqFM a a -&gt; UniqSet a) -&gt; UniqFM a a -&gt; UniqSet a
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; UniqFM a a
forall key elt. Uniquable key =&gt; key -&gt; elt -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#unitUFM"><span class="hs-identifier hs-var">unitUFM</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803928"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803928"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-74"></span><span>
</span><span id="line-75"></span><span id="local-6989586621680804207"><span class="annot"><a href="GHC.Types.Unique.Set.html#mkUniqSet"><span class="hs-identifier hs-type">mkUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804207"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621680804207"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804207"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-76"></span><span id="mkUniqSet"><span class="annot"><span class="annottext">mkUniqSet :: forall a. Uniquable a =&gt; [a] -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#mkUniqSet"><span class="hs-identifier hs-var hs-var">mkUniqSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(UniqSet a -&gt; a -&gt; UniqSet a) -&gt; UniqSet a -&gt; [a] -&gt; UniqSet a
forall (t :: * -&gt; *) b a.
Foldable t =&gt;
(b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldl%27"><span class="hs-identifier hs-var">foldl'</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet a -&gt; a -&gt; UniqSet a
forall a. Uniquable a =&gt; UniqSet a -&gt; a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#addOneToUniqSet"><span class="hs-identifier hs-var">addOneToUniqSet</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet a
forall a. UniqSet a
</span><a href="GHC.Types.Unique.Set.html#emptyUniqSet"><span class="hs-identifier hs-var">emptyUniqSet</span></a></span><span>
</span><span id="line-77"></span><span>
</span><span id="line-78"></span><span id="local-6989586621680804202"><span class="annot"><a href="GHC.Types.Unique.Set.html#addOneToUniqSet"><span class="hs-identifier hs-type">addOneToUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804202"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804202"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804202"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804202"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-79"></span><span id="addOneToUniqSet"><span class="annot"><span class="annottext">addOneToUniqSet :: forall a. Uniquable a =&gt; UniqSet a -&gt; a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#addOneToUniqSet"><span class="hs-identifier hs-var hs-var">addOneToUniqSet</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803919"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803919"><span class="hs-identifier hs-var">set</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803918"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803918"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; a -&gt; a -&gt; UniqFM a a
forall key elt.
Uniquable key =&gt;
UniqFM key elt -&gt; key -&gt; elt -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#addToUFM"><span class="hs-identifier hs-var">addToUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803919"><span class="hs-identifier hs-var">set</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803918"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803918"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-80"></span><span>
</span><span id="line-81"></span><span id="local-6989586621680804198"><span class="annot"><a href="GHC.Types.Unique.Set.html#addListToUniqSet"><span class="hs-identifier hs-type">addListToUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804198"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804198"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621680804198"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804198"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-82"></span><span id="addListToUniqSet"><span class="annot"><span class="annottext">addListToUniqSet :: forall a. Uniquable a =&gt; UniqSet a -&gt; [a] -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#addListToUniqSet"><span class="hs-identifier hs-var hs-var">addListToUniqSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(UniqSet a -&gt; a -&gt; UniqSet a) -&gt; UniqSet a -&gt; [a] -&gt; UniqSet a
forall (t :: * -&gt; *) b a.
Foldable t =&gt;
(b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldl%27"><span class="hs-identifier hs-var">foldl'</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet a -&gt; a -&gt; UniqSet a
forall a. Uniquable a =&gt; UniqSet a -&gt; a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#addOneToUniqSet"><span class="hs-identifier hs-var">addOneToUniqSet</span></a></span><span>
</span><span id="line-83"></span><span>
</span><span id="line-84"></span><span id="local-6989586621680803913"><span class="annot"><a href="GHC.Types.Unique.Set.html#delOneFromUniqSet"><span class="hs-identifier hs-type">delOneFromUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803913"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803913"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680803913"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803913"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-85"></span><span id="delOneFromUniqSet"><span class="annot"><span class="annottext">delOneFromUniqSet :: forall a. Uniquable a =&gt; UniqSet a -&gt; a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#delOneFromUniqSet"><span class="hs-identifier hs-var hs-var">delOneFromUniqSet</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803910"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803910"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803909"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803909"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; a -&gt; UniqFM a a
forall key elt.
Uniquable key =&gt;
UniqFM key elt -&gt; key -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#delFromUFM"><span class="hs-identifier hs-var">delFromUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803910"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803909"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-86"></span><span>
</span><span id="line-87"></span><span id="local-6989586621680804193"><span class="annot"><a href="GHC.Types.Unique.Set.html#delOneFromUniqSet_Directly"><span class="hs-identifier hs-type">delOneFromUniqSet_Directly</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804193"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804193"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-88"></span><span id="delOneFromUniqSet_Directly"><span class="annot"><span class="annottext">delOneFromUniqSet_Directly :: forall a. UniqSet a -&gt; Unique -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#delOneFromUniqSet_Directly"><span class="hs-identifier hs-var hs-var">delOneFromUniqSet_Directly</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803907"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803907"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803906"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680803906"><span class="hs-identifier hs-var">u</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; Unique -&gt; UniqFM a a
forall key elt. UniqFM key elt -&gt; Unique -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#delFromUFM_Directly"><span class="hs-identifier hs-var">delFromUFM_Directly</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803907"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680803906"><span class="hs-identifier hs-var">u</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-89"></span><span>
</span><span id="line-90"></span><span id="local-6989586621680803904"><span class="annot"><a href="GHC.Types.Unique.Set.html#delListFromUniqSet"><span class="hs-identifier hs-type">delListFromUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803904"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803904"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621680803904"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803904"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-91"></span><span id="delListFromUniqSet"><span class="annot"><span class="annottext">delListFromUniqSet :: forall a. Uniquable a =&gt; UniqSet a -&gt; [a] -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#delListFromUniqSet"><span class="hs-identifier hs-var hs-var">delListFromUniqSet</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803901"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803901"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803900"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621680803900"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; [a] -&gt; UniqFM a a
forall key elt.
Uniquable key =&gt;
UniqFM key elt -&gt; [key] -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#delListFromUFM"><span class="hs-identifier hs-var">delListFromUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803901"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621680803900"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-92"></span><span>
</span><span id="line-93"></span><span id="local-6989586621680804185"><span class="annot"><a href="GHC.Types.Unique.Set.html#delListFromUniqSet_Directly"><span class="hs-identifier hs-type">delListFromUniqSet_Directly</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804185"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804185"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-94"></span><span id="delListFromUniqSet_Directly"><span class="annot"><span class="annottext">delListFromUniqSet_Directly :: forall a. UniqSet a -&gt; [Unique] -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#delListFromUniqSet_Directly"><span class="hs-identifier hs-var hs-var">delListFromUniqSet_Directly</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803898"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803898"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803897"><span class="annot"><span class="annottext">[Unique]
</span><a href="#local-6989586621680803897"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-95"></span><span>    </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; [Unique] -&gt; UniqFM a a
forall key elt. UniqFM key elt -&gt; [Unique] -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#delListFromUFM_Directly"><span class="hs-identifier hs-var">delListFromUFM_Directly</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803898"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[Unique]
</span><a href="#local-6989586621680803897"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-96"></span><span>
</span><span id="line-97"></span><span id="local-6989586621680803895"><span class="annot"><a href="GHC.Types.Unique.Set.html#unionUniqSets"><span class="hs-identifier hs-type">unionUniqSets</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803895"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803895"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803895"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-98"></span><span id="unionUniqSets"><span class="annot"><span class="annottext">unionUniqSets :: forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#unionUniqSets"><span class="hs-identifier hs-var hs-var">unionUniqSets</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803894"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803894"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803893"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803893"><span class="hs-identifier hs-var">t</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqFM a a -&gt; UniqFM a a
forall key elt. UniqFM key elt -&gt; UniqFM key elt -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#plusUFM"><span class="hs-identifier hs-var">plusUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803894"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803893"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-99"></span><span>
</span><span id="line-100"></span><span id="local-6989586621680803891"><span class="annot"><a href="GHC.Types.Unique.Set.html#unionManyUniqSets"><span class="hs-identifier hs-type">unionManyUniqSets</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803891"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803891"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-101"></span><span id="unionManyUniqSets"><span class="annot"><span class="annottext">unionManyUniqSets :: forall a. [UniqSet a] -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#unionManyUniqSets"><span class="hs-identifier hs-var hs-var">unionManyUniqSets</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(UniqSet a -&gt; UniqSet a -&gt; UniqSet a)
-&gt; UniqSet a -&gt; [UniqSet a] -&gt; UniqSet a
forall (t :: * -&gt; *) b a.
Foldable t =&gt;
(b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldl%27"><span class="hs-identifier hs-var">foldl'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(UniqSet a -&gt; UniqSet a -&gt; UniqSet a)
-&gt; UniqSet a -&gt; UniqSet a -&gt; UniqSet a
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet a -&gt; UniqSet a -&gt; UniqSet a
forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#unionUniqSets"><span class="hs-identifier hs-var">unionUniqSets</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">UniqSet a
forall a. UniqSet a
</span><a href="GHC.Types.Unique.Set.html#emptyUniqSet"><span class="hs-identifier hs-var">emptyUniqSet</span></a></span><span>
</span><span id="line-102"></span><span>
</span><span id="line-103"></span><span id="local-6989586621680803888"><span class="annot"><a href="GHC.Types.Unique.Set.html#minusUniqSet"><span class="hs-identifier hs-type">minusUniqSet</span></a></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803888"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803888"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803888"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-104"></span><span id="minusUniqSet"><span class="annot"><span class="annottext">minusUniqSet :: forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#minusUniqSet"><span class="hs-identifier hs-var hs-var">minusUniqSet</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803887"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803887"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803886"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803886"><span class="hs-identifier hs-var">t</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqFM a a -&gt; UniqFM a a
forall key elt1 elt2.
UniqFM key elt1 -&gt; UniqFM key elt2 -&gt; UniqFM key elt1
</span><a href="GHC.Types.Unique.FM.html#minusUFM"><span class="hs-identifier hs-var">minusUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803887"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803886"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-105"></span><span>
</span><span id="line-106"></span><span id="local-6989586621680803884"><span class="annot"><a href="GHC.Types.Unique.Set.html#intersectUniqSets"><span class="hs-identifier hs-type">intersectUniqSets</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803884"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803884"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803884"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-107"></span><span id="intersectUniqSets"><span class="annot"><span class="annottext">intersectUniqSets :: forall a. UniqSet a -&gt; UniqSet a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#intersectUniqSets"><span class="hs-identifier hs-var hs-var">intersectUniqSets</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803883"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803883"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803882"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803882"><span class="hs-identifier hs-var">t</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqFM a a -&gt; UniqFM a a
forall key elt1 elt2.
UniqFM key elt1 -&gt; UniqFM key elt2 -&gt; UniqFM key elt1
</span><a href="GHC.Types.Unique.FM.html#intersectUFM"><span class="hs-identifier hs-var">intersectUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803883"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803882"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-108"></span><span>
</span><span id="line-109"></span><span id="local-6989586621680804169"><span class="annot"><a href="GHC.Types.Unique.Set.html#disjointUniqSets"><span class="hs-identifier hs-type">disjointUniqSets</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804169"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804169"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-110"></span><span id="disjointUniqSets"><span class="annot"><span class="annottext">disjointUniqSets :: forall a. UniqSet a -&gt; UniqSet a -&gt; Bool
</span><a href="GHC.Types.Unique.Set.html#disjointUniqSets"><span class="hs-identifier hs-var hs-var">disjointUniqSets</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803880"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803880"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803879"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803879"><span class="hs-identifier hs-var">t</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqFM a a -&gt; Bool
forall key elt1 elt2. UniqFM key elt1 -&gt; UniqFM key elt2 -&gt; Bool
</span><a href="GHC.Types.Unique.FM.html#disjointUFM"><span class="hs-identifier hs-var">disjointUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803880"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803879"><span class="hs-identifier hs-var">t</span></a></span><span>
</span><span id="line-111"></span><span>
</span><span id="line-112"></span><span id="local-6989586621680804163"><span id="local-6989586621680804164"><span class="annot"><a href="GHC.Types.Unique.Set.html#restrictUniqSetToUFM"><span class="hs-identifier hs-type">restrictUniqSetToUFM</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804164"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html#UniqFM"><span class="hs-identifier hs-type">UniqFM</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804164"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804163"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804164"><span class="hs-identifier hs-type">key</span></a></span></span></span><span>
</span><span id="line-113"></span><span id="restrictUniqSetToUFM"><span class="annot"><span class="annottext">restrictUniqSetToUFM :: forall key b. UniqSet key -&gt; UniqFM key b -&gt; UniqSet key
</span><a href="GHC.Types.Unique.Set.html#restrictUniqSetToUFM"><span class="hs-identifier hs-var hs-var">restrictUniqSetToUFM</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803877"><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803877"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803876"><span class="annot"><span class="annottext">UniqFM key b
</span><a href="#local-6989586621680803876"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM key key -&gt; UniqSet key
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM key key -&gt; UniqFM key b -&gt; UniqFM key key
forall key elt1 elt2.
UniqFM key elt1 -&gt; UniqFM key elt2 -&gt; UniqFM key elt1
</span><a href="GHC.Types.Unique.FM.html#intersectUFM"><span class="hs-identifier hs-var">intersectUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803877"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM key b
</span><a href="#local-6989586621680803876"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-114"></span><span>
</span><span id="line-115"></span><span id="local-6989586621680803874"><span id="local-6989586621680803875"><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetMinusUFM"><span class="hs-identifier hs-type">uniqSetMinusUFM</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803875"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html#UniqFM"><span class="hs-identifier hs-type">UniqFM</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803875"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803874"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803875"><span class="hs-identifier hs-type">key</span></a></span></span></span><span>
</span><span id="line-116"></span><span id="uniqSetMinusUFM"><span class="annot"><span class="annottext">uniqSetMinusUFM :: forall key b. UniqSet key -&gt; UniqFM key b -&gt; UniqSet key
</span><a href="GHC.Types.Unique.Set.html#uniqSetMinusUFM"><span class="hs-identifier hs-var hs-var">uniqSetMinusUFM</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803873"><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803873"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803872"><span class="annot"><span class="annottext">UniqFM key b
</span><a href="#local-6989586621680803872"><span class="hs-identifier hs-var">t</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM key key -&gt; UniqSet key
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM key key -&gt; UniqFM key b -&gt; UniqFM key key
forall key elt1 elt2.
UniqFM key elt1 -&gt; UniqFM key elt2 -&gt; UniqFM key elt1
</span><a href="GHC.Types.Unique.FM.html#minusUFM"><span class="hs-identifier hs-var">minusUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803873"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM key b
</span><a href="#local-6989586621680803872"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-117"></span><span>
</span><span id="line-118"></span><span id="local-6989586621680804157"><span id="local-6989586621680804158"><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetMinusUDFM"><span class="hs-identifier hs-type">uniqSetMinusUDFM</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804158"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.DFM.html#UniqDFM"><span class="hs-identifier hs-type">UniqDFM</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804158"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804157"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804158"><span class="hs-identifier hs-type">key</span></a></span></span></span><span>
</span><span id="line-119"></span><span id="uniqSetMinusUDFM"><span class="annot"><span class="annottext">uniqSetMinusUDFM :: forall key b. UniqSet key -&gt; UniqDFM key b -&gt; UniqSet key
</span><a href="GHC.Types.Unique.Set.html#uniqSetMinusUDFM"><span class="hs-identifier hs-var hs-var">uniqSetMinusUDFM</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803871"><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803871"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803870"><span class="annot"><span class="annottext">UniqDFM key b
</span><a href="#local-6989586621680803870"><span class="hs-identifier hs-var">t</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM key key -&gt; UniqSet key
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UniqFM key key -&gt; UniqDFM key b -&gt; UniqFM key key
forall key elt1 elt2.
UniqFM key elt1 -&gt; UniqDFM key elt2 -&gt; UniqFM key elt1
</span><a href="GHC.Types.Unique.DFM.html#ufmMinusUDFM"><span class="hs-identifier hs-var">ufmMinusUDFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803871"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">UniqDFM key b
</span><a href="#local-6989586621680803870"><span class="hs-identifier hs-var">t</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-120"></span><span>
</span><span id="line-121"></span><span id="local-6989586621680804150"><span class="annot"><a href="GHC.Types.Unique.Set.html#elementOfUniqSet"><span class="hs-identifier hs-type">elementOfUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804150"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804150"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804150"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-122"></span><span id="elementOfUniqSet"><span class="annot"><span class="annottext">elementOfUniqSet :: forall a. Uniquable a =&gt; a -&gt; UniqSet a -&gt; Bool
</span><a href="GHC.Types.Unique.Set.html#elementOfUniqSet"><span class="hs-identifier hs-var hs-var">elementOfUniqSet</span></a></span></span><span> </span><span id="local-6989586621680803866"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803866"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803865"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803865"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">a -&gt; UniqFM a a -&gt; Bool
forall key elt. Uniquable key =&gt; key -&gt; UniqFM key elt -&gt; Bool
</span><a href="GHC.Types.Unique.FM.html#elemUFM"><span class="hs-identifier hs-var">elemUFM</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803866"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803865"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-123"></span><span>
</span><span id="line-124"></span><span id="local-6989586621680804146"><span class="annot"><a href="GHC.Types.Unique.Set.html#elemUniqSet_Directly"><span class="hs-identifier hs-type">elemUniqSet_Directly</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804146"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-125"></span><span id="elemUniqSet_Directly"><span class="annot"><span class="annottext">elemUniqSet_Directly :: forall a. Unique -&gt; UniqSet a -&gt; Bool
</span><a href="GHC.Types.Unique.Set.html#elemUniqSet_Directly"><span class="hs-identifier hs-var hs-var">elemUniqSet_Directly</span></a></span></span><span> </span><span id="local-6989586621680803863"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680803863"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803862"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803862"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; UniqFM a a -&gt; Bool
forall key elt. Unique -&gt; UniqFM key elt -&gt; Bool
</span><a href="GHC.Types.Unique.FM.html#elemUFM_Directly"><span class="hs-identifier hs-var">elemUFM_Directly</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680803863"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803862"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-126"></span><span>
</span><span id="line-127"></span><span id="local-6989586621680804142"><span class="annot"><a href="GHC.Types.Unique.Set.html#filterUniqSet"><span class="hs-identifier hs-type">filterUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680804142"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804142"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804142"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-128"></span><span id="filterUniqSet"><span class="annot"><span class="annottext">filterUniqSet :: forall a. (a -&gt; Bool) -&gt; UniqSet a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#filterUniqSet"><span class="hs-identifier hs-var hs-var">filterUniqSet</span></a></span></span><span> </span><span id="local-6989586621680803860"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803860"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803859"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803859"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; UniqFM a a -&gt; UniqFM a a
forall elt key. (elt -&gt; Bool) -&gt; UniqFM key elt -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#filterUFM"><span class="hs-identifier hs-var">filterUFM</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803860"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803859"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-129"></span><span>
</span><span id="line-130"></span><span id="local-6989586621680804138"><span class="annot"><a href="GHC.Types.Unique.Set.html#filterUniqSet_Directly"><span class="hs-identifier hs-type">filterUniqSet_Directly</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804138"><span class="hs-identifier hs-type">elt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804138"><span class="hs-identifier hs-type">elt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804138"><span class="hs-identifier hs-type">elt</span></a></span></span><span>
</span><span id="line-131"></span><span id="filterUniqSet_Directly"><span class="annot"><span class="annottext">filterUniqSet_Directly :: forall elt. (Unique -&gt; elt -&gt; Bool) -&gt; UniqSet elt -&gt; UniqSet elt
</span><a href="GHC.Types.Unique.Set.html#filterUniqSet_Directly"><span class="hs-identifier hs-var hs-var">filterUniqSet_Directly</span></a></span></span><span> </span><span id="local-6989586621680803857"><span class="annot"><span class="annottext">Unique -&gt; elt -&gt; Bool
</span><a href="#local-6989586621680803857"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803856"><span class="annot"><span class="annottext">UniqFM elt elt
</span><a href="#local-6989586621680803856"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM elt elt -&gt; UniqSet elt
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Unique -&gt; elt -&gt; Bool) -&gt; UniqFM elt elt -&gt; UniqFM elt elt
forall elt key.
(Unique -&gt; elt -&gt; Bool) -&gt; UniqFM key elt -&gt; UniqFM key elt
</span><a href="GHC.Types.Unique.FM.html#filterUFM_Directly"><span class="hs-identifier hs-var">filterUFM_Directly</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; elt -&gt; Bool
</span><a href="#local-6989586621680803857"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM elt elt
</span><a href="#local-6989586621680803856"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-132"></span><span>
</span><span id="line-133"></span><span id="local-6989586621680804134"><span class="annot"><a href="GHC.Types.Unique.Set.html#partitionUniqSet"><span class="hs-identifier hs-type">partitionUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680804134"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804134"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804134"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804134"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-134"></span><span id="partitionUniqSet"><span class="annot"><span class="annottext">partitionUniqSet :: forall a. (a -&gt; Bool) -&gt; UniqSet a -&gt; (UniqSet a, UniqSet a)
</span><a href="GHC.Types.Unique.Set.html#partitionUniqSet"><span class="hs-identifier hs-var hs-var">partitionUniqSet</span></a></span></span><span> </span><span id="local-6989586621680803853"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803853"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803852"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803852"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(UniqFM a a, UniqFM a a) -&gt; (UniqSet a, UniqSet a)
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; UniqFM a a -&gt; (UniqFM a a, UniqFM a a)
forall elt key.
(elt -&gt; Bool) -&gt; UniqFM key elt -&gt; (UniqFM key elt, UniqFM key elt)
</span><a href="GHC.Types.Unique.FM.html#partitionUFM"><span class="hs-identifier hs-var">partitionUFM</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803853"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803852"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-135"></span><span>
</span><span id="line-136"></span><span id="local-6989586621680804127"><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetAny"><span class="hs-identifier hs-type">uniqSetAny</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680804127"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804127"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-137"></span><span id="uniqSetAny"><span class="annot"><span class="annottext">uniqSetAny :: forall a. (a -&gt; Bool) -&gt; UniqSet a -&gt; Bool
</span><a href="GHC.Types.Unique.Set.html#uniqSetAny"><span class="hs-identifier hs-var hs-var">uniqSetAny</span></a></span></span><span> </span><span id="local-6989586621680803850"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803850"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803849"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803849"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; UniqFM a a -&gt; Bool
forall elt key. (elt -&gt; Bool) -&gt; UniqFM key elt -&gt; Bool
</span><a href="GHC.Types.Unique.FM.html#anyUFM"><span class="hs-identifier hs-var">anyUFM</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803850"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803849"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-138"></span><span>
</span><span id="line-139"></span><span id="local-6989586621680803847"><span class="annot"><a href="GHC.Types.Unique.Set.html#uniqSetAll"><span class="hs-identifier hs-type">uniqSetAll</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680803847"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803847"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-140"></span><span id="uniqSetAll"><span class="annot"><span class="annottext">uniqSetAll :: forall a. (a -&gt; Bool) -&gt; UniqSet a -&gt; Bool
</span><a href="GHC.Types.Unique.Set.html#uniqSetAll"><span class="hs-identifier hs-var hs-var">uniqSetAll</span></a></span></span><span> </span><span id="local-6989586621680803846"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803846"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803845"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803845"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; UniqFM a a -&gt; Bool
forall elt key. (elt -&gt; Bool) -&gt; UniqFM key elt -&gt; Bool
</span><a href="GHC.Types.Unique.FM.html#allUFM"><span class="hs-identifier hs-var">allUFM</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621680803846"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803845"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-141"></span><span>
</span><span id="line-142"></span><span id="local-6989586621680804122"><span class="annot"><a href="GHC.Types.Unique.Set.html#sizeUniqSet"><span class="hs-identifier hs-type">sizeUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804122"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span></span><span>
</span><span id="line-143"></span><span id="sizeUniqSet"><span class="annot"><span class="annottext">sizeUniqSet :: forall a. UniqSet a -&gt; Int
</span><a href="GHC.Types.Unique.Set.html#sizeUniqSet"><span class="hs-identifier hs-var hs-var">sizeUniqSet</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803843"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803843"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; Int
forall key elt. UniqFM key elt -&gt; Int
</span><a href="GHC.Types.Unique.FM.html#sizeUFM"><span class="hs-identifier hs-var">sizeUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803843"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-144"></span><span>
</span><span id="line-145"></span><span id="local-6989586621680804118"><span class="annot"><a href="GHC.Types.Unique.Set.html#isEmptyUniqSet"><span class="hs-identifier hs-type">isEmptyUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804118"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-146"></span><span id="isEmptyUniqSet"><span class="annot"><span class="annottext">isEmptyUniqSet :: forall a. UniqSet a -&gt; Bool
</span><a href="GHC.Types.Unique.Set.html#isEmptyUniqSet"><span class="hs-identifier hs-var hs-var">isEmptyUniqSet</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803841"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803841"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; Bool
forall key elt. UniqFM key elt -&gt; Bool
</span><a href="GHC.Types.Unique.FM.html#isNullUFM"><span class="hs-identifier hs-var">isNullUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803841"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-147"></span><span>
</span><span id="line-148"></span><span class="hs-comment">-- | What's the point you might ask? We might have changed an object</span><span>
</span><span id="line-149"></span><span class="hs-comment">-- without it's key changing. In which case this lookup makes sense.</span><span>
</span><span id="line-150"></span><span id="local-6989586621680804114"><span class="annot"><a href="GHC.Types.Unique.Set.html#lookupUniqSet"><span class="hs-identifier hs-type">lookupUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804114"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804114"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804114"><span class="hs-identifier hs-type">key</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804114"><span class="hs-identifier hs-type">key</span></a></span></span><span>
</span><span id="line-151"></span><span id="lookupUniqSet"><span class="annot"><span class="annottext">lookupUniqSet :: forall key. Uniquable key =&gt; UniqSet key -&gt; key -&gt; Maybe key
</span><a href="GHC.Types.Unique.Set.html#lookupUniqSet"><span class="hs-identifier hs-var hs-var">lookupUniqSet</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803837"><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803837"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803836"><span class="annot"><span class="annottext">key
</span><a href="#local-6989586621680803836"><span class="hs-identifier hs-var">k</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM key key -&gt; key -&gt; Maybe key
forall key elt. Uniquable key =&gt; UniqFM key elt -&gt; key -&gt; Maybe elt
</span><a href="GHC.Types.Unique.FM.html#lookupUFM"><span class="hs-identifier hs-var">lookupUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM key key
</span><a href="#local-6989586621680803837"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">key
</span><a href="#local-6989586621680803836"><span class="hs-identifier hs-var">k</span></a></span><span>
</span><span id="line-152"></span><span>
</span><span id="line-153"></span><span id="local-6989586621680804110"><span class="annot"><a href="GHC.Types.Unique.Set.html#lookupUniqSet_Directly"><span class="hs-identifier hs-type">lookupUniqSet_Directly</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804110"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804110"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-154"></span><span id="lookupUniqSet_Directly"><span class="annot"><span class="annottext">lookupUniqSet_Directly :: forall a. UniqSet a -&gt; Unique -&gt; Maybe a
</span><a href="GHC.Types.Unique.Set.html#lookupUniqSet_Directly"><span class="hs-identifier hs-var hs-var">lookupUniqSet_Directly</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803834"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803834"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680803833"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680803833"><span class="hs-identifier hs-var">k</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; Unique -&gt; Maybe a
forall key elt. UniqFM key elt -&gt; Unique -&gt; Maybe elt
</span><a href="GHC.Types.Unique.FM.html#lookupUFM_Directly"><span class="hs-identifier hs-var">lookupUFM_Directly</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803834"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680803833"><span class="hs-identifier hs-var">k</span></a></span><span>
</span><span id="line-155"></span><span>
</span><span id="line-156"></span><span class="hs-comment">-- See Note [Deterministic UniqFM] to learn about nondeterminism.</span><span>
</span><span id="line-157"></span><span class="hs-comment">-- If you use this please provide a justification why it doesn't introduce</span><span>
</span><span id="line-158"></span><span class="hs-comment">-- nondeterminism.</span><span>
</span><span id="line-159"></span><span id="local-6989586621680804106"><span class="annot"><a href="GHC.Types.Unique.Set.html#nonDetEltsUniqSet"><span class="hs-identifier hs-type">nonDetEltsUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804106"><span class="hs-identifier hs-type">elt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621680804106"><span class="hs-identifier hs-type">elt</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-160"></span><span id="nonDetEltsUniqSet"><span class="annot"><span class="annottext">nonDetEltsUniqSet :: forall elt. UniqSet elt -&gt; [elt]
</span><a href="GHC.Types.Unique.Set.html#nonDetEltsUniqSet"><span class="hs-identifier hs-var hs-var">nonDetEltsUniqSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM elt elt -&gt; [elt]
forall key elt. UniqFM key elt -&gt; [elt]
</span><a href="GHC.Types.Unique.FM.html#nonDetEltsUFM"><span class="hs-identifier hs-var">nonDetEltsUFM</span></a></span><span> </span><span class="annot"><span class="annottext">(UniqFM elt elt -&gt; [elt])
-&gt; (UniqSet elt -&gt; UniqFM elt elt) -&gt; UniqSet elt -&gt; [elt]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet elt -&gt; UniqFM elt elt
forall a. UniqSet a -&gt; UniqFM a a
</span><a href="GHC.Types.Unique.Set.html#getUniqSet%27"><span class="hs-identifier hs-var hs-var">getUniqSet'</span></a></span><span>
</span><span id="line-161"></span><span>
</span><span id="line-162"></span><span class="hs-comment">-- See Note [Deterministic UniqFM] to learn about nondeterminism.</span><span>
</span><span id="line-163"></span><span class="hs-comment">-- If you use this please provide a justification why it doesn't introduce</span><span>
</span><span id="line-164"></span><span class="hs-comment">-- nondeterminism.</span><span>
</span><span id="line-165"></span><span id="local-6989586621680804099"><span class="annot"><a href="GHC.Types.Unique.Set.html#nonDetKeysUniqSet"><span class="hs-identifier hs-type">nonDetKeysUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804099"><span class="hs-identifier hs-type">elt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-166"></span><span id="nonDetKeysUniqSet"><span class="annot"><span class="annottext">nonDetKeysUniqSet :: forall elt. UniqSet elt -&gt; [Unique]
</span><a href="GHC.Types.Unique.Set.html#nonDetKeysUniqSet"><span class="hs-identifier hs-var hs-var">nonDetKeysUniqSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM elt elt -&gt; [Unique]
forall key elt. UniqFM key elt -&gt; [Unique]
</span><a href="GHC.Types.Unique.FM.html#nonDetKeysUFM"><span class="hs-identifier hs-var">nonDetKeysUFM</span></a></span><span> </span><span class="annot"><span class="annottext">(UniqFM elt elt -&gt; [Unique])
-&gt; (UniqSet elt -&gt; UniqFM elt elt) -&gt; UniqSet elt -&gt; [Unique]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet elt -&gt; UniqFM elt elt
forall a. UniqSet a -&gt; UniqFM a a
</span><a href="GHC.Types.Unique.Set.html#getUniqSet%27"><span class="hs-identifier hs-var hs-var">getUniqSet'</span></a></span><span>
</span><span id="line-167"></span><span>
</span><span id="line-168"></span><span class="hs-comment">-- See Note [Deterministic UniqFM] to learn about nondeterminism.</span><span>
</span><span id="line-169"></span><span class="hs-comment">-- If you use this please provide a justification why it doesn't introduce</span><span>
</span><span id="line-170"></span><span class="hs-comment">-- nondeterminism.</span><span>
</span><span id="line-171"></span><span id="local-6989586621680804094"><span id="local-6989586621680804095"><span class="annot"><a href="GHC.Types.Unique.Set.html#nonDetStrictFoldUniqSet"><span class="hs-identifier hs-type">nonDetStrictFoldUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680804095"><span class="hs-identifier hs-type">elt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804094"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804094"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804094"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804095"><span class="hs-identifier hs-type">elt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804094"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-172"></span><span id="nonDetStrictFoldUniqSet"><span class="annot"><span class="annottext">nonDetStrictFoldUniqSet :: forall elt a. (elt -&gt; a -&gt; a) -&gt; a -&gt; UniqSet elt -&gt; a
</span><a href="GHC.Types.Unique.Set.html#nonDetStrictFoldUniqSet"><span class="hs-identifier hs-var hs-var">nonDetStrictFoldUniqSet</span></a></span></span><span> </span><span id="local-6989586621680803828"><span class="annot"><span class="annottext">elt -&gt; a -&gt; a
</span><a href="#local-6989586621680803828"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621680803827"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803827"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803826"><span class="annot"><span class="annottext">UniqFM elt elt
</span><a href="#local-6989586621680803826"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(elt -&gt; a -&gt; a) -&gt; a -&gt; UniqFM elt elt -&gt; a
forall elt a key. (elt -&gt; a -&gt; a) -&gt; a -&gt; UniqFM key elt -&gt; a
</span><a href="GHC.Types.Unique.FM.html#nonDetStrictFoldUFM"><span class="hs-identifier hs-var">nonDetStrictFoldUFM</span></a></span><span> </span><span class="annot"><span class="annottext">elt -&gt; a -&gt; a
</span><a href="#local-6989586621680803828"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680803827"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM elt elt
</span><a href="#local-6989586621680803826"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-173"></span><span>
</span><span id="line-174"></span><span class="hs-comment">-- See Note [UniqSet invariant]</span><span>
</span><span id="line-175"></span><span id="local-6989586621680804087"><span id="local-6989586621680804088"><span class="annot"><a href="GHC.Types.Unique.Set.html#mapUniqSet"><span class="hs-identifier hs-type">mapUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804088"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680804087"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680804088"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804087"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804088"><span class="hs-identifier hs-type">b</span></a></span></span></span><span>
</span><span id="line-176"></span><span id="mapUniqSet"><span class="annot"><span class="annottext">mapUniqSet :: forall b a. Uniquable b =&gt; (a -&gt; b) -&gt; UniqSet a -&gt; UniqSet b
</span><a href="GHC.Types.Unique.Set.html#mapUniqSet"><span class="hs-identifier hs-var hs-var">mapUniqSet</span></a></span></span><span> </span><span id="local-6989586621680803822"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621680803822"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[b] -&gt; UniqSet b
forall a. Uniquable a =&gt; [a] -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#mkUniqSet"><span class="hs-identifier hs-var">mkUniqSet</span></a></span><span> </span><span class="annot"><span class="annottext">([b] -&gt; UniqSet b) -&gt; (UniqSet a -&gt; [b]) -&gt; UniqSet a -&gt; UniqSet b
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; b) -&gt; [a] -&gt; [b]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621680803822"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">([a] -&gt; [b]) -&gt; (UniqSet a -&gt; [a]) -&gt; UniqSet a -&gt; [b]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet a -&gt; [a]
forall elt. UniqSet elt -&gt; [elt]
</span><a href="GHC.Types.Unique.Set.html#nonDetEltsUniqSet"><span class="hs-identifier hs-var">nonDetEltsUniqSet</span></a></span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span class="hs-comment">-- Two 'UniqSet's are considered equal if they contain the same</span><span>
</span><span id="line-179"></span><span class="hs-comment">-- uniques.</span><span>
</span><span id="line-180"></span><span id="local-6989586621680804081"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680803819"><span class="annot"><span class="hs-identifier hs-type">Eq</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804081"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-181"></span><span>  </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803817"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803817"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621680803816"><span class="annot"><span class="annottext">== :: UniqSet a -&gt; UniqSet a -&gt; Bool
</span><span class="hs-operator hs-var hs-var hs-var hs-var">==</span></span></span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span id="local-6989586621680803815"><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803815"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqFM a a -&gt; Bool
forall key elt1 elt2. UniqFM key elt1 -&gt; UniqFM key elt2 -&gt; Bool
</span><a href="GHC.Types.Unique.FM.html#equalKeysUFM"><span class="hs-identifier hs-var">equalKeysUFM</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803817"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">UniqFM a a
</span><a href="#local-6989586621680803815"><span class="hs-identifier hs-var">b</span></a></span></span><span>
</span><span id="line-182"></span><span>
</span><span id="line-183"></span><span id="local-6989586621680803813"><span class="annot"><a href="GHC.Types.Unique.Set.html#getUniqSet"><span class="hs-identifier hs-type">getUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803813"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html#UniqFM"><span class="hs-identifier hs-type">UniqFM</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803813"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803813"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-184"></span><span id="getUniqSet"><span class="annot"><span class="annottext">getUniqSet :: forall a. UniqSet a -&gt; UniqFM a a
</span><a href="GHC.Types.Unique.Set.html#getUniqSet"><span class="hs-identifier hs-var hs-var">getUniqSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqSet a -&gt; UniqFM a a
forall a. UniqSet a -&gt; UniqFM a a
</span><a href="GHC.Types.Unique.Set.html#getUniqSet%27"><span class="hs-identifier hs-var hs-var">getUniqSet'</span></a></span><span>
</span><span id="line-185"></span><span>
</span><span id="line-186"></span><span class="hs-comment">-- | 'unsafeUFMToUniqSet' converts a @'UniqFM' a@ into a @'UniqSet' a@</span><span>
</span><span id="line-187"></span><span class="hs-comment">-- assuming, without checking, that it maps each 'Unique' to a value</span><span>
</span><span id="line-188"></span><span class="hs-comment">-- that has that 'Unique'. See Note [UniqSet invariant].</span><span>
</span><span id="line-189"></span><span id="local-6989586621680803812"><span class="annot"><a href="GHC.Types.Unique.Set.html#unsafeUFMToUniqSet"><span class="hs-identifier hs-type">unsafeUFMToUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html#UniqFM"><span class="hs-identifier hs-type">UniqFM</span></a></span><span>  </span><span class="annot"><a href="#local-6989586621680803812"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803812"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680803812"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-190"></span><span id="unsafeUFMToUniqSet"><span class="annot"><span class="annottext">unsafeUFMToUniqSet :: forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#unsafeUFMToUniqSet"><span class="hs-identifier hs-var hs-var">unsafeUFMToUniqSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqFM a a -&gt; UniqSet a
forall a. UniqFM a a -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-var">UniqSet</span></a></span><span>
</span><span id="line-191"></span><span>
</span><span id="line-192"></span><span id="local-6989586621680804076"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680803809"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804076"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804076"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-193"></span><span>    </span><span id="local-6989586621680803806"><span class="annot"><span class="annottext">ppr :: UniqSet a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; SDoc) -&gt; UniqSet a -&gt; SDoc
forall a. (a -&gt; SDoc) -&gt; UniqSet a -&gt; SDoc
</span><a href="GHC.Types.Unique.Set.html#pprUniqSet"><span class="hs-identifier hs-var">pprUniqSet</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span></span><span>
</span><span id="line-194"></span><span>
</span><span id="line-195"></span><span id="local-6989586621680804075"><span class="annot"><a href="GHC.Types.Unique.Set.html#pprUniqSet"><span class="hs-identifier hs-type">pprUniqSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680804075"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680804075"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span></span><span>
</span><span id="line-196"></span><span class="hs-comment">-- It's OK to use nonDetUFMToList here because we only use it for</span><span>
</span><span id="line-197"></span><span class="hs-comment">-- pretty-printing.</span><span>
</span><span id="line-198"></span><span id="pprUniqSet"><span class="annot"><span class="annottext">pprUniqSet :: forall a. (a -&gt; SDoc) -&gt; UniqSet a -&gt; SDoc
</span><a href="GHC.Types.Unique.Set.html#pprUniqSet"><span class="hs-identifier hs-var hs-var">pprUniqSet</span></a></span></span><span> </span><span id="local-6989586621680803804"><span class="annot"><span class="annottext">a -&gt; SDoc
</span><a href="#local-6989586621680803804"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#braces"><span class="hs-identifier hs-var">braces</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; (UniqSet a -&gt; SDoc) -&gt; UniqSet a -&gt; SDoc
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; SDoc) -&gt; [a] -&gt; SDoc
forall a. (a -&gt; SDoc) -&gt; [a] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#pprWithCommas"><span class="hs-identifier hs-var">pprWithCommas</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; SDoc
</span><a href="#local-6989586621680803804"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">([a] -&gt; SDoc) -&gt; (UniqSet a -&gt; [a]) -&gt; UniqSet a -&gt; SDoc
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet a -&gt; [a]
forall elt. UniqSet elt -&gt; [elt]
</span><a href="GHC.Types.Unique.Set.html#nonDetEltsUniqSet"><span class="hs-identifier hs-var">nonDetEltsUniqSet</span></a></span><span>
</span><span id="line-199"></span></pre></body></html>